package com.yanqu.road.entity.activity.suitang.entity.union;

import com.yanqu.road.entity.activity.suitang.enums.eSuiTangWarType;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;

public class CrossSuiTangUnionRound {
    // 商会ID
    private String unionUid = "";

    // 活动分组，每轮都会进行重新分组
    private int actGroupId;

    // 当前轮次
    private int round;

    // 当前所在战场
    private eSuiTangWarType warType;

    // 大本营
    private int homeId;

    // 本轮排名
    private int rank;

    //本轮的城池势力积分
    private volatile AtomicLong currentCityScore = new AtomicLong(0);

    // 是否被淘汰
    private boolean isOut;

    // 淘汰时间
    private long outTime;

    // 本轮比赛的战略城市
    private List<Integer> targetCities = new ArrayList<>();

    // 本轮的商会任务进度 <任务类型，任务进度>
    private Map<Integer, Integer> unionTaskMap = new ConcurrentHashMap<>();

    public String getUnionUid() {
        return unionUid;
    }

    public void setUnionUid(String unionUid) {
        this.unionUid = unionUid;
    }

    public int getActGroupId() {
        return actGroupId;
    }

    public void setActGroupId(int actGroupId) {
        this.actGroupId = actGroupId;
    }

    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        this.round = round;
    }

    public eSuiTangWarType getWarType() {
        return warType;
    }

    public void setWarType(eSuiTangWarType warType) {
        this.warType = warType;
    }

    public int getHomeId() {
        return homeId;
    }

    public void setHomeId(int homeId) {
        this.homeId = homeId;
    }

    public AtomicLong getCurrentCityScore() {
        return currentCityScore;
    }

    public void setCurrentCityScore(AtomicLong currentCityScore) {
        this.currentCityScore = currentCityScore;
    }

    public boolean isOut() {
        return isOut;
    }

    public void setOut(boolean out) {
        isOut = out;
    }

    public long isOutTime() {
        return outTime;
    }

    public void setOutTime(long outTime) {
        this.outTime = outTime;
    }

    public List<Integer> getTargetCities() {
        return targetCities;
    }

    public void setTargetCities(List<Integer> targetCities) {
        this.targetCities = targetCities;
    }

    public int getRank() {
        return rank;
    }

    public void setRank(int rank) {
        this.rank = rank;
    }

    public Map<Integer, Integer> getUnionTaskMap() {
        return unionTaskMap;
    }

    public void setUnionTaskMap(Map<Integer, Integer> unionTaskMap) {
        this.unionTaskMap = unionTaskMap;
    }
}
